“Web 1.0” is the term associated with the first generation of internet browser applications and programs, along with the associated client-side software entities and server-side software entities used to support and access information using the Internet. Such Web 1.0 technologies, like most first-generation technologies, are geared more to enabling a workable system and to the capabilities of the available software and hardware platforms, rather than to creating a rich and efficient experience for the system's users. Thus, conventional Web 1.0 technologies, while efficient for machines, are often highly inefficient and frustrating for their human users.
In particular, Web 1.0 technologies operate on a “click-wait” or a “start-stop” philosophy. That is, when a user wishes to view a web page, the user must generate a request using the client-side browser software, and send that request to the server. The user must then wait for the server to respond to the request and forward the requested data. The user must further wait for all of the requested data to be received by the client-side browser software and for the browser software to parse and display all of the requested information before the user is allowed to interact with the requested web page.
This is frustrating for most users on a number of levels. First, for slow or bandwidth-limited Internet connections, obtaining all of the requested data can often take a relatively long time. Furthermore, even when the user has high-speed access to the Internet, a web page that requires data to be re-loaded or refreshed on a fairly regular basis, such as mapping web pages, sporting events scores, or play-by-play web pages and the like, can cause significant delays. This is typically due to Web 1.0 requirements that the entire web page be retransmitted even if no or only minimal changes have occurred to the displayed information.
Accordingly, the next generation of technologies used to access and support the Internet are currently being developed and collected under the rubric “Web 2.0”. A key feature in the “Web 2.0” concept is to eliminate the above-outlined “click-wait” or “start-stop” cycle, by asynchronously supplying data associated with a particular web page to the user from the associated web server. The transfer occurs as a background process, while a user is still viewing and possibly interacting with the web page, which anticipates the fact that the user will wish to access that asynchronously-supplied data. A number of important technologies within the “Web 2.0” concept have already been developed. These include “AJAX”, SVG, and the like.
Asynchronous JavaScript and XML, or “AJAX”, is a web development technique used to create interactive web applications. AJAX is used to make web pages feel more responsive by exchanging small amounts of data between the client application and the server as a background process. Accordingly, by using AJAX, an entire web page does not have to be re-loaded each time a portion of the page needs to be refreshed or the user makes a change to the web page at the client side. AJAX is used to increase the web page's interactivity, speed, and usability. AJAX itself makes use of a number of available techniques and technologies, including XHTML (extended hypertext markup language) and CSS (cascading style sheets), which are used to define web pages and provide markup and styling information for the web pages. It also makes use of a client-side scripting language, such as JavaScript, that allows the DOM (document object model) to be accessed and manipulated, so that the information in the web page can be dynamically displayed and can be interacted with by the user.
Other important technologies include the XMLHttpRequest object, which is used to exchange data asynchronously between the client-side browser software and the server supporting the web page being displayed, and XML, RSS and other data exchange standards, which are used as the format for transferring data from the server to the client-side browser application. Finally, SVG (scalable vector graphics) is used to define the graphical elements of the web page to be displayed using the client-side browser application.
In addition to Web 1.0 and Web 2.0 technologies, an entirely different set of software technologies are used to access other data available over local area networks, wide area networks, the internet and the like. These technologies are traditionally referred to as “client-server applications”, where a complex software application having a rich set of features is installed on a particular client computer. This software application executes on the client computer and is used to access, display and interact with information stored on a server that is accessed via a local area network, a wide area network, the Internet or the like. While such client-server applications allow for dynamic displays and make manipulating information easy, such client-server applications are difficult to deploy to all of the client machines, and are difficult to update.
Timelines for displaying data are known. The SIMILE project has a thin client Timeline that is interactive. However, it lacks many desirable features. For example, there is no toolbar that is able to interact with the Timeline. Also, the SIMILE timeline only supports a proprietary data format and does not ingest standard formats like RSS and GeoRSS. Once the data is read in, it does not link to other visualizations or support selection or highlighting. The ability to zoom in or out and the ability to change scales are also not included in SIMILE's Timeline.
Thus, there is a need in the art for an improved thin client environment that supports full featured timeline display of data.